-
Notifications
You must be signed in to change notification settings - Fork 986
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix:deadlock when reentrant exclusive lock #2905 #2879 #2961
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree that this is the most likely culprit as the logic seems to assume the same thread could not be a writer at the moment of attempting to do exclusive operations. I have a few minor suggestions for the change.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome, thanks for the contibution!
…is#2961) * fix:deadlock when reentrant exclusive lock redis#2905 * confirm won't blocking other thread * apply suggestions
Motivation
Resolves: #2905 #2879
Investigation
Both of issues point to this stack trace. I have reproduced this with the sample in #2905.
After some investigation, I figured why, because the thread that holds the shared lock also requires exclusive lock in the same time.(I think it happened on error handling, or the channel was disactive when writer was writing).
Make sure that:
mvn formatter:format
target. Don’t submit any formatting related changes.